<?php
require_once "..\Entities\Evento.php"; 

class EventRepository
{
	function ObtenerListadoEventos($cantidad_eventos) // Pendiente
	{
		if (!isset($cantidad_eventos))
		{
			$query = "select * from evento";
		}
		else
		{
			$query = "select * from evento order by fecha_evento, hora_evento desc limit "+ $cantidad_eventos;
		}
		return $listado_eventos;
		;
	}
	
	function InsertarEvento($evento) // Listo
	{
		try
		{
			//insertar
			$connection = new mysqli("localhost","root","","db_maravillosos80");
			$connection->set_charset('utf8');
				
			// Check connection
			if (!isset($connection))
			{
				throw new Exception('Error al conectar con la base de datos: ' . $connection->connect_error);
			}
				
			$query = 'INSERT INTO evento (cod_usuario_creador, fecha_evento, hora_evento, descripcion, timestamp, url, counter_me_gusta, evento_padre, contador_yo_voy) VALUES (?,?,?,?,now(),?,?,?,?)';
				
			$cod_usu_crea = $evento->GetCreatorId();
			$fevent = $evento->GetFechaEvento();
			$hevent = $evento->GetHoraEvento();
			$text_event = $evento->GetDescripcion();
			$url_event = $evento->GetUrl();
			$cont_like = $evento->GetCounterMeGusta();
			$event_padre = $evento->GetEventoPadre();
			$counter_voy =$evento->GetCounterYoVoy();
				
			if ($stmt = $connection->prepare($query))
			{
				//bind parameters for markers
				if(!$stmt->bind_param('issssiii',$cod_usu_crea,$fevent,$hevent,$text_event,$url_event,$cont_like,$event_padre,$counter_voy ))
				{
					$stmt->close();
					$connection->close();
					throw new Exception('Error en la procesamiento de los parámetros de la consulta: ' . $connection->error);
				}
					
				//execute query
				if(!$stmt->execute())
				{
					$stmt->close();
					$connection->close();
					throw new Exception('Error en la consulta: ' . $connection->error);
				}
					
			}
			//echo print_r($stmt);
			$connection->close();
			return 0;
		}
		catch (Exception $e)
		{
			return 1;
		}
	}
	
	function BuscarEvento($cadena_texto) // Pendiente
	{
		return $listado_eventos;
	}
	
	function MeGustaEvento($cod_evento) // Pendiente
	{
		try
		{
			//actualizar campo me gusta
			return 0;			
		} 
		catch (Exception $e)
		{
			return 1;
		}
	}
	
	function YoVoyEvento($cod_evento) // Pendiente
	{
		try
		{
			//actualizar campo me gusta
			return 0;			
		} 
		catch (Exception $e)
		{
			return 1;
		}
	}
}
?>
